/**************************************************************
 *
 * Copyright (c) 2008, ******, All Rights Reserved.
 *
 * 名 称:
 *		base_order.h
 * 位 置:
 *		inc/biz/base_order.h
 * 描 述:
 *		基础委托类
 * 备 注:
 *		无
 * 修 改:
 *		2008-09-20  Simon   - 创建
 *
 **************************************************************/

#ifndef __BIZ_BASE_ORDER_H__
#define __BIZ_BASE_ORDER_H__

#include <string>
#include "pub/str.h"
#include "biz/base_service.h"

using namespace std;

class BaseOrder : public BaseService
{
public:
	//委托共用信息
	String transAccountID;			//交易帐号
	String tradePassword;			//交易密码
	String instTransName;			//机构经办人名称
	String instTransCertType;		//机构经办人证件类型
	String instTransCertNo;			//机构经办人证件号码
	String instTransCertValidFrom;	//经办人证件有效期起始日期
	String instTransCertValidTo;	//经办人证件有效期截至日期
	String inAdvanceFlag;			//预约标志
	String inAdvanceDate;			//预约日期
	String grantNeeded;				//是否需求授权
	String grantFlag;				//授权标志
	String grantOpID;				//授权人
	String grantDate;				//授权日期
	String grantTime;				//授权时间
	String orderSerialNo;			//委托流水号
	String orderDate;				//委托日期
	String orderTime;				//委托时间
	String orderFromFlag;			//委托发起标志
	String orderStatus;				//委托状态
	String summary;					//备注

protected:
	String transAcctStatus;			//交易账户状态
	String custAccountID;			//客户帐号
	String invstType;				//投资者类型

public:
	//构造函数
	BaseOrder();

	//析构函数
	~BaseOrder();

public:
	//检查输入参数
	virtual void checkData();

	//初始化
	virtual void init();

	//检查功能权限
	virtual void checkPriv();

	//检查条件是否满足
	virtual void checkCondition();

	//写入操作日志
	virtual void writeLog();

private:
	//检查交易密码
	void checkPassword();

	//检查经办人信息
	void checkTransactor();
};

#endif
